﻿Public Class xtf_ABMproduccionresultado
    Public obj_produccionresultado As cls_produccionresultado_ = Nothing
    Private col_ControlesValidar As List(Of Control)

    Public Sub New()
        InitializeComponent()
        Me.Text = "Produccion Resultado - Nuevo"
        obj_produccionresultado = New cls_produccionresultado_
        AgregarValidacionesGlobal(Me, Me.lac_general, col_ControlesValidar)
        PerzonalizarControles(Me.lac_general.Items)
    End Sub

    Public Sub Modificar(ByRef produccionresultado As cls_produccionresultado_)
        If IsNothing(obj_produccionresultado) Then
            obj_produccionresultado = New cls_produccionresultado_
        End If
        obj_produccionresultado = produccionresultado

        Me.Text = "Produccion Resultado - " & obj_produccionresultado.ToString

        txt_articulo.Text = obj_produccionresultado.articulo.ToString
        txt_articulo.Tag = obj_produccionresultado.articulo
        Cargarunidaddetalle_()
        For Each item As cls_unidaddetalle_ In cbo_unidad.Properties.Items
            If item.idunidaddetalle = obj_produccionresultado.idunidaddetalle Then
                cbo_unidad.SelectedItem = item
                Exit For
            End If
        Next
        txt_Cantidad.Text = CType(cbo_unidad.SelectedItem, cls_unidaddetalle_).CCantCargar(obj_produccionresultado.cantidad)
        txt_Notas.Text = obj_produccionresultado.notas
       
        obj_produccionresultado.articulo = Nothing
        obj_produccionresultado.unidaddetalle = Nothing
    End Sub

    Public Function ComprobarDatos() As Boolean
        If Not ControlarValidacionesGlobal(col_ControlesValidar) Then
            ErrManagerShow("000004", Me)
            Return False
        End If
        Return True
    End Function

    Private Sub btn_Guardar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_Guardar.Click
        If ComprobarDatos() Then

            obj_produccionresultado.idarticulo = CType(txt_articulo.Tag, cls_articulo_).idarticulo
            obj_produccionresultado.cantidad = CType(cbo_unidad.SelectedItem, cls_unidaddetalle_).CCantGuardar(txt_Cantidad.Text)
            obj_produccionresultado.notas = txt_Notas.Text
            obj_produccionresultado.idunidaddetalle = CType(cbo_unidad.SelectedItem, cls_unidaddetalle_).idunidaddetalle

            Me.DialogResult = Windows.Forms.DialogResult.OK
        End If
    End Sub

    Private Sub btn_Cerrar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_Cerrar.Click
        Me.DialogResult = Windows.Forms.DialogResult.Cancel
    End Sub

    Private Sub txt_articulo_ButtonClick(ByVal sender As Object, ByVal e As DevExpress.XtraEditors.Controls.ButtonPressedEventArgs) Handles txt_articulo.ButtonClick
        Dim buscar As xtf_buscardor
        Dim articulo_ As New cls_articulo_
        articulo_.CargarTodos()
        buscar = New xtf_buscardor("Articulos", articulo_, {"nombre|Nombre", "codigo|Codigo", "descripcion|Descripcion"})
        If buscar.ShowDialog() = Windows.Forms.DialogResult.OK Then
            txt_articulo.Text = buscar.obj_resultado.ToString
            txt_articulo.Tag = buscar.obj_resultado
            Cargarunidaddetalle_()
        End If
    End Sub


    Private Sub Cargarunidaddetalle_()
        If Not IsNothing(txt_articulo.Tag) Then
            If Not IsNothing(CType(txt_articulo.Tag, cls_articulo_).unidad) Then
                cbo_unidad.Properties.Items.Clear()
                For Each unidaddetalle As cls_unidaddetalle_ In CType(txt_articulo.Tag, cls_articulo_).unidad.unidaddetalle_.Items
                    cbo_unidad.Properties.Items.Add(unidaddetalle)
                Next
                cbo_unidad.SelectedIndex = 0
                cbo_unidad.Enabled = True
            End If
        End If
    End Sub

    Private Sub txt_articulo_EditValueChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txt_articulo.EditValueChanged

    End Sub
End Class